Embodiments of the invention relate to semantic context based keyword search techniques.
The amount of digital content available on the internet is enormous and it increases at a very fast pace. To be efficient and productive, most web users rely on web search engines to search for useful web pages through keyword search.
SOA and Cloud Computing rely on the underlying technologies to expose computing resources, applications, and data sources as services or utilities. Like web pages, the number of services exposed to the service users can be very large.
To facilitate the integration of computing systems to access data stored in different organization databases and other information silos through the internet and to provide richer content to end users, new web technologies have been introduced (such as ones developed for cloud computing, e.g., Software as a Service (SaaS) and Data as a Service (DaaS). Some of these technologies are RESTful (Representational State Transfer) web services and web services based on Simple Object Access Protocol (SOAP) and Web Service Definition Language (WSDL).
For example, a company may create a marketplace web site for different vendors to sell their products. Examples of web services include the web site's flexible fulfillment web service and payments web service, which are utilized to integrate the marketplace web site with the information systems of those vendors.
To facilitate publishing and searching web services, a Universal Description, Discovery and Integration (UDDI) standard was developed for SOAP based web services. The UDDI standard defines how to create a web service UDDI registry to enable web service providers to publish their web services and to enable web service consumers to search and use these published web services.
Ontology is used to describe knowledge as a set of concepts and their relationships in a knowledge domain. In ontology, reasoning may be used with formal logic rules to derive more knowledge from existing knowledge. To facilitate the description of concepts, their properties and relationships, shared vocabulary and taxonomies are defined in a specific ontology domain. Web Ontology Language (OWL), as well as its newer version OWL 2, is an ontology standard, which was originally developed in academic research to present data on the web in a machine-understandable format.
A non-UDDI based web service registry may offer web service governance features and semantic web technologies. Such web service registries or repositories store additional web services related metadata to govern the life cycles of web services. OWL may be used to organize the web service related metadata in such a web service registry.
In conventional systems, keyword search is used by a web service consumer to find web services in a web service registry. The keywords of a web service can be manually specified by a web service provider. An automatic keyword generation process may be used to generate keywords from web service metadata. The combination of the manual approach and the automatic approach, such as letting the provider verify or modify the generated keywords, may also be used.
Existing web service registries provide query Application Programming Interfaces (APIs) and/or Graphical User Interfaces (GUIs) to enable web service consumers to search for the web services published in the registry. With these query interfaces, users provide keywords, strings or other data in specific web service metadata fields to conduct the search and manually analyze the search result. These query APIs assume that the users have sufficient knowledge about what and how service metadata are stored in the registry and/or the exact keywords used by the services to specify metadata fields in a query and to carry out keyword searches. Also, the keywords may be ambiguous and service providers may use different naming conventions.
For example, a UDDI client may query a UDDI registry to find web services by providing the partial or full name of the web service, the business entity to which it belongs, and the category into which it falls. It also allows the user to search web services with composite queries. The search result of such a query may be the intersection or union of the collection of the search results of the simple queries of which the composite query is made.
An existing solution evaluates the keywords provided by user and ranks them with respect to the number of their appearances in the relevant categories.